package edu.unmsm.ocaa.sisocaa.negocio.service.impl;

import java.util.List;

import javax.annotation.Resource;

import org.springframework.dao.DataAccessException;
import org.springframework.stereotype.Service;

import edu.unmsm.ocaa.sisocaa.integracion.dao.DependenciaDAO;
import edu.unmsm.ocaa.sisocaa.integracion.dao.SubDependenciaDAO;
import edu.unmsm.ocaa.sisocaa.negocio.model.dto.DependenciaDTO;
import edu.unmsm.ocaa.sisocaa.negocio.model.dto.SubDependenciaDTO;
import edu.unmsm.ocaa.sisocaa.negocio.service.DependenciaService;

@Service
public class DependenciaServiceImpl implements DependenciaService {

	@Resource
	DependenciaDAO depdao;
	@Resource
	SubDependenciaDAO subdepdao;
	
	public void actualizarDependencia(DependenciaDTO dep)
			throws DataAccessException {
		// TODO Auto-generated method stub
		depdao.updateDep(dep);
	}

	public void actualizarSubDependencia(SubDependenciaDTO subdep)
			throws DataAccessException {
		// TODO Auto-generated method stub
		subdepdao.updateSubdep(subdep);
	}

	public void ingresarDependencia(DependenciaDTO dep)
			throws DataAccessException {
		// TODO Auto-generated method stub
		depdao.insertDep(dep);
	}

	public void ingresarSubDependencia(SubDependenciaDTO subdep)
			throws DataAccessException {
		// TODO Auto-generated method stub
		subdepdao.insertSubdep(subdep);
	}

	public List<DependenciaDTO> listarDependencia(Integer idDep)
			throws DataAccessException {
		// TODO Auto-generated method stub
		return depdao.getDep(idDep);
	}

	public List<SubDependenciaDTO> listarSubDenpendencia(Integer idDep,
			Integer idSubdep) throws DataAccessException {
		// TODO Auto-generated method stub
		return subdepdao.getSubdep(idSubdep, idDep);
	}

	public List<SubDependenciaDTO> listarSubDependencias(Integer idDep)
			throws DataAccessException {
		// TODO Auto-generated method stub
		return subdepdao.getSubdeps(idDep);
	}

	@Override
	public List<DependenciaDTO> listarDependencias() throws DataAccessException {
		// TODO Auto-generated method stub
		return depdao.getDeps();
	}

	@Override
	public List<DependenciaDTO> listarDependenciaxDsc(String dscDep) {
		// TODO Auto-generated method stub
		return depdao.getDepxDsc(dscDep);
	}

}
